Ring device having an antenna, a touch pad, and/or a charging pad to control a computing device based on user motions

ABSTRACT

An apparatus having a ring-shaped housing configured to be wrapped round a finger of a user, the ring-shaped housing having an opening or a joint at a first point round the finger and a first contiguous section that is at a location opposite to the first point across a central axis of the ring-shaped housing; an antenna configured in the ring-shaped housing in the contiguous section; an inertial measurement unit configured to measure motions of the finger; a light-emitting diode (LED) indicator configured on an outer portion of the ring-shaped housing; a charging pad configured to charge a battery configured in the ring-shaped housing; and/or a touch pad configured to receive touch input from a finger of the user.

RELATED APPLICATIONS

The present application is a continuation application of U.S. patentapplication Ser. No. 16/807,444, filed Mar. 3, 2020, issued as U.S. Pat.No. 11,237,632 on Feb. 1, 2022, and entitled “A RING DEVICE HAVING ANANTENNA, A TOUCH PAD, AND/OR A CHARGING PAD TO CONTROL A COMPUTINGDEVICE BASED ON USER MOTIONS,” the entire disclosure of which is herebyincorporated herein by reference.

The present application relates to U.S. patent application Ser. No.16/576,661, filed Sep. 19, 2019 and entitled “Calibration of InertialMeasurement Units in Alignment with a Skeleton Model to Control aComputer System based on Determination of Orientation of an InertialMeasurement Unit from an Image of a Portion of a User,” U.S. Pat. App.Ser. No. 16/044,984, filed Jul. 25, 2018 and entitled “Calibration ofMeasurement Units in Alignment with a Skeleton Model to Control aComputer System,” U.S. patent application Ser. No. 15/973,137, filed May7, 2018 and entitled “Tracking User Movements to Control a SkeletonModel in a Computer System,” U.S. patent application Ser. No.15/868,745, filed Jan. 11, 2018 and entitled “Correction of AccumulatedErrors in Inertial Measurement Units Attached to a User,” U.S. patentapplication Ser. No. 15/864,860, filed Jan. 8, 2018 and entitled“Tracking Torso Leaning to Generate Inputs for Computer Systems,” U.S.patent application Ser. No. 15/847,669, filed Dec. 19, 2017 and entitled“Calibration of Inertial Measurement Units Attached to Arms of a Userand to a Head Mounted Device,” U.S. patent application Ser. No.15/817,646, filed Nov. 20, 2017 and entitled “Calibration of InertialMeasurement Units Attached to Arms of a User to Generate Inputs forComputer Systems,” U.S. patent application Ser. No. 15/813,813, filedNov. 15, 2017 and entitled “Tracking Torso Orientation to GenerateInputs for Computer Systems,” U.S. patent application Ser. No.15/792,255, filed Oct. 24, 2017 and entitled “Tracking Finger Movementsto Generate Inputs for Computer Systems,” U.S. patent application Ser.No. 15/787,555, filed Oct. 18, 2017 and entitled “Tracking Arm Movementsto Generate Inputs for Computer Systems,” and U.S. patent applicationSer. No. 15/492,915, filed Apr. 20, 2017 and entitled “Devices forControlling Computers based on Motions and Positions of Hands,” theentire disclosures of which applications are hereby incorporated hereinby reference.

FIELD OF THE TECHNOLOGY

At least a portion of the present disclosure relates to computer inputdevices in general and more particularly but not limited to inputdevices for virtual reality and/or augmented/mixed reality applicationsimplemented using computing devices, such as mobile phones, smartwatches, similar mobile devices, and/or other devices.

BACKGROUND

U.S. Pat. App. Pub. No. 2014/0028547 discloses a user control devicehaving a combined inertial sensor to detect the movements of the devicefor pointing and selecting within a real or virtual three-dimensionalspace.

U.S. Pat. App. Pub. No. 2015/0277559 discloses a finger-ring-mountedtouchscreen having a wireless transceiver that wirelessly transmitscommands generated from events on the touchscreen.

U.S. Pat. App. Pub. No. 2015/0358543 discloses a motion capture devicethat has a plurality of inertial measurement units to measure the motionparameters of fingers and a palm of a user.

U.S. Pat. App. Pub. No. 2007/0050597 discloses a game controller havingan acceleration sensor and a gyro sensor. U.S. Pat. No. D772,986discloses the ornamental design for a wireless game controller.

Chinese Pat. App. Pub. No. 103226398 discloses data gloves that usemicro-inertial sensor network technologies, where each micro-inertialsensor is an attitude and heading reference system, having a tri-axialmicro-electromechanical system (MEMS) micro-gyroscope, a tri-axialmicro-acceleration sensor and a tri-axial geomagnetic sensor which arepackaged in a circuit board. U.S. Pat. App. Pub. No. 2014/0313022 andU.S. Pat. App. Pub. No. 2012/0025945 disclose other data gloves.

U.S. Pat. App. Pub. No. 2016/0085310 discloses techniques to track handor body pose from image data in which a best candidate pose from a poolof candidate poses is selected as the current tracked pose.

U.S. Pat. App. Pub. No. 2017/0344829 discloses an action detectionscheme using a recurrent neural network (RNN) where joint locations areapplied to the recurrent neural network (RNN) to determine an actionlabel representing the action of an entity depicted in a frame of avideo.

U.S. Pat. App. Pub. No. 2017/0186226 discloses a calibration engine thatuses a machine learning system to extracts a region of interest tocompute values of shape parameters of a 3D mesh model.

U.S. Pat. App. Pub. No. 2017/0186226 discloses a system where anobserved position is determined from an image and a predicted positionis determined using an inertial measurement unit. The predicted positionis adjusted by an offset until a difference between the observedposition and the predicted position is less than a threshold value.

The disclosures of the above discussed patent documents are herebyincorporated herein by reference.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments are illustrated by way of example and not limitation inthe figures of the accompanying drawings in which like referencesindicate similar elements.

FIG. 1 illustrates a system to track user movements according to oneembodiment.

FIG. 2 illustrates a system to control computer operations according toone embodiment.

FIG. 3 illustrates a skeleton model that can be controlled by trackinguser movements according to one embodiment.

FIG. 4 illustrates a technique to determine an orientation of a ringdevice for tracking user movements using an image captured by a cameraon a head mounted display according to some embodiments.

FIG. 5 shows a ring device having components configured at locationsaccording to some embodiments.

FIG. 6 shows another ring device according to some embodiments.

DETAILED DESCRIPTION

The following description and drawings are illustrative and are not tobe construed as limiting. Numerous specific details are described toprovide a thorough understanding. However, in certain instances, wellknown or conventional details are not described to avoid obscuring thedescription. References to one or an embodiment in the presentdisclosure are not necessarily references to the same embodiment; and,such references mean at least one.

U.S. patent application Ser. No. 16/044,984, filed Jul. 25, 2018 andentitled “Calibration of Measurement Units in Alignment with a SkeletonModel to Control a Computer System,” the entire disclosure of which ishereby incorporated herein by reference, discloses sensor modules havingLED lights that can be used to provide optical indicators in thedetermination of the orientations of the sensor modules. A camera (e.g.,in the head mounted display) can be used to capture images of theoptical indicators to determine the orientations of the sensor modules.After identifying the locations of LED lights of sensor module in animage, the locations of the LED lights can be processed via anartificial neural network (ANN) to provide an orientation measurementfor the sensor module. The orientation measurement for the sensormodule, determined based on the optical indicators, can be used tocalibrate orientation measurements generated by an inertial measurementunit in the sensor module.

In some instances, the LED lights of the sensor module may not be in aposition visible to the camera and thus cannot be captured as opticalindicators in the images generated by the camera. In other instances,the sensor module may not have LED lights configured on the sensormodules. The present application discloses techniques that can be usedto determine orientation of the sensor module based on images capturedin the camera, without relying upon LED optional indicators. Forexample, when the sensor module is being held or worn on a portion ofthe user in a predetermined manner, an image of the potion of the usercan be used to in a first ANN to determine the orientation of predefinedfeatures of the user and then used in a second ANN to predict theorientation of the sensor module based on the orientations of thepredefined features of the user. For example, the sensor module can bein a form of a ring worn on a predetermined finger of a hand of theuser; and the first ANN can be used determine the orientations offeatures of the user, such as the orientations of the wrist, palm,forearm, and/or distal, middle and proximal phalanges of thumb and/orindex finger of the user.

For example, a sensor device can be configured as a ring attached to themiddle phalange of the index finger; and the sensor device has a touchpad. When the thumb of the user is placed on the touch pad of the sensordevice, the orientation of the sensor device can be predicted based onthe orientations of the bones of the thumb and/or the index finger.Thus, in response to the configuration of the thumb being on thetouching pad of the sensor device worn on the middle phalange of theindex finger, an image of the hand can be provided as an input to an ANNto determine the orientations of certain features on the hand of theuser, which orientations can be used in a further ANN to determine theorientation of the ring/sensor device. For example, the featuresidentified/used for the determination the orientation of the ring/sensordevice can include bones and/or joints, such as wrist, palm, phalangesof thumb and index finger.

Once the orientation of sensor device is determined, calibration can beperformed in a way similar to those disclosed in U.S. patent applicationSer. No. 16/044,984, filed Jul. 25, 2018 and entitled “Calibration ofMeasurement Units in Alignment with a Skeleton Model to Control aComputer System,” the entire disclosure of which is hereby incorporatedherein by reference.

In general, uncalibrated measurements of an inertial measurement unit(IMU) can be considered as orientations of the inertial sensor measuredrelative to an unknown reference coordinate system. A calibrationprocess identifies the unknown reference coordinate system and itsrelationship with respect to a known coordinate system. After thecalibration the measurements of the IMU are relative to the knowncoordinate system. For example, the calibrated measurements can be anorientation relative to a predetermined orientation in the space,relative to a particular orientation of the sensor device at a specifictime instance, relative to the orientation of the arm or hand of a userat a time instance, or relative to a reference orientation/pose of askeleton model of the user.

In some embodiments, the determination of calibration parameters of themeasurements of the inertial measurement unit such that the calibratedmeasurements of the inertial measurement unit are relative to a knownorientation, such as the orientation of the sensor device in which theinertial measurement unit is installed, the orientation of the arm orhand of a user to which the sensor device is attached, or theorientation of a skeleton model of the user in a reference pose. Forexample, a stereo camera integrated in a head mount display (HMD) can beused to capture images of sensor modules on the user. In someembodiments, Computer vision techniques and/or artificial neural networktechniques can process the captured images identify one or moreorientations that can be used to calibrate the measurements of theinertial measurement units in the sensor modules.

In general, the kinematics of a user can be modeled using a skeletonmodel having a set of rigid parts/portions connected by joints. Forexample, the head, the torso, the left and right upper arms, the leftand right forearms, the palms, phalange bones of fingers, metacarpalbones of thumbs, upper legs, lower legs, and feet can be considered asrigid parts that are connected via various joints, such as the neck,shoulders, elbows, wrist, and finger joints.

The movements of the parts in the skeleton model of a user can becontrolled by the movements of the corresponding portions of the usertracked using sensor modules. The sensor modules can determine theorientations of the portions of the user, such as the hands, arms, andhead of the user. The measured orientations of the corresponding partsof the user determine the orientations of the parts of the skeletonmodel, such as hands and arms. The relative positions and/ororientations of the rigid parts collectively represent the pose of theuser and/or the skeleton model. The skeleton model of the user can beused to control the presentation of an avatar of the user, to identifythe gesture inputs of the user, and/or to make a virtual realty oraugmented reality presentation of the user.

FIG. 1 illustrates a system to track user movements according to oneembodiment.

FIG. 1 illustrates various parts of a user, such as the torso (101) ofthe user, the head (107) of the user, the upper arms (103 and 105) ofthe user, the forearms (112 and 114) of the user, and the hands (106 and108) of the user.

In an application illustrated in FIG. 1, the hands (106 and 108) of theuser are considered rigid parts movable around the wrists of the user.In other applications, the palms and finger bones of the user can befurther tracked for their movements relative to finger joints (e.g., todetermine the hand gestures of the user made using relative positionsamong fingers of a hand and the palm of the hand).

In FIG. 1, the user wears several sensor modules/devices (111, 113, 115,117 and 119) that track the orientations of parts of the user that areconsidered, or recognized as, rigid in an application.

In an application illustrated in FIG. 1, rigid parts of the user aremovable relative to the torso (101) of the user and relative to eachother. Examples of the rigid parts include the head (107), the upperarms (103 and 105), the forearms (112 and 114), and the hands (106 and108). The joints, such as neck, shoulder, elbow, and/or wrist, connectthe rigid parts of the user to form one or more kinematic chains. Thekinematic chains can be modeled in a computing device (141) to controlthe application.

To track the relative positions/orientations of rigid parts in akinematic chain that connects the rigid parts via one or more joints, atracking device can be attached to each individual rigid part in thekinematic chain to measure its orientation.

In general, the position and/or orientation of a rigid part in areference system (100) can be tracked using one of many systems known inthe field. Some of the systems may use one or more cameras to takeimages of a rigid part marked using optical markers and analyze theimages to compute the position and/or orientation of the part. Some ofthe systems may track the rigid part based on signals transmitted from,or received at, a tracking device attached to the rigid part, such asradio frequency signals, infrared signals, ultrasound signals. Thesignals may correspond to signals received in the tracking device,and/or signals emitted from the tracking device. Some of the systems mayuse inertial measurement units (IMUs) to track the position and/ororientation of the tracking device.

In FIG. 1, the sensor devices (111, 113, 115, 117 and 119) are used totrack some of the rigid parts (e.g., 107, 103, 105, 106, 108) in the oneor more kinematic chains, but sensor devices are omitted from otherrigid parts (101, 112, 114) in the one or more kinematic chains toreduce the number of sensor devices used and/or to improve userexperience for wearing the reduced number of sensor devices.

The computing device (141) can have a prediction model (116) trained togenerate predicted measurements of parts (101, 112, 114, 107, 103, 105,106, and/or 108) of the user based on the measurements of the sensordevices (111, 113, 115, 117 and 119).

For example, the prediction model (116) can be implemented using anartificial neural network (ANN) in the computing device (141) to predictthe measurements of the orientations of the rigid parts (101, 112, 114)that have omitted sensor devices, based on the measurements of theorientations rigid parts (107, 103, 105, 106, 108) that have theattached sensor devices (111, 113, 115, 117 and 119).

Further, the artificial neural network can be trained to predict themeasurements of the orientations of the rigid parts (107, 103, 105, 106,108) that would be measured by another system (e.g., an optical trackingsystem), based on the measurement of the attached sensor devices (111,113, 115, 117 and 119) that measure orientations using a differenttechnique (e.g., IMUs).

The sensor devices (111, 113, 115, 117, 119) communicate their movementmeasurements to the computing device (141), which computes or predictsthe orientation of the rigid parts (107, 103, 105, 106, 108, 101, 112,114) by applying the measurements obtained from the attached sensordevices (111, 113, 115, 117 and 119) as inputs to an artificial neuralnetwork trained in a way as further discussed below.

In some implementations, each of the sensor devices (111, 113, 115, 117and 119) communicates its measurements directly to the computing device(141) in a way independent from the operations of other sensor devices.

Alternative, one of the sensor devices (111, 113, 115, 117 and 119) mayfunction as a base unit that receives measurements from one or moreother sensor devices and transmit the bundled and/or combinedmeasurements to the computing device (141). In some instances, theartificial neural network is implemented in the base unit and used togenerate the predicted measurements that are communicated to thecomputing device (141).

Preferably, wireless connections made via a personal area wirelessnetwork (e.g., Bluetooth connections), or a local area wireless network(e.g., Wi-Fi connections) are used to facilitate the communication fromthe sensor devices (111, 113, 115, 117 and 119) to the computing device(141).

Alternatively, wired connections can be used to facilitate thecommunication among some of the sensor devices (111, 113, 115, 117 and119) and/or with the computing device (141).

For example, a hand module (117 or 119) attached to or held in acorresponding hand (106 or 108) of the user may receive the motionmeasurements of a corresponding arm module (115 or 113) and transmit themotion measurements of the corresponding hand (106 or 108) and thecorresponding upper arm (105 or 103) to the computing device (141).

The hand (106), the forearm (114), and the upper arm (105) can beconsidered a kinematic chain, for which an artificial neural network canbe trained to predict the orientation measurements generated by anoptical track system, based on the sensor inputs from the sensor devices(117 and 115) that are attached to the hand (106) and the upper arm(105), without a corresponding device on the forearm (114).

Optionally or in combination, the hand module (e.g., 117) may combineits measurements with the measurements of the corresponding arm module(115) to compute the orientation of the forearm connected between thehand (106) and the upper arm (105), in a way as disclosed in U.S. patentapplication Ser. No. 15/787,555, filed Oct. 18, 2017 and entitled“Tracking Arm Movements to Generate Inputs for Computer Systems”, theentire disclosure of which is hereby incorporated herein by reference.

For example, the hand modules (117 and 119) and the arm modules (115 and113) can be each respectively implemented via a base unit (or a gamecontroller) and an arm/shoulder module discussed in U.S. patentapplication Ser. No. 15/492,915, filed Apr. 20, 2017 and entitled“Devices for Controlling Computers based on Motions and Positions ofHands”, the entire disclosure of which application is herebyincorporated herein by reference.

In some implementations, the head module (111) is configured as a baseunit that receives the motion measurements from the hand modules (117and 119) and the arm modules (115 and 113) and bundles the measurementdata for transmission to the computing device (141). In some instances,the computing device (141) is implemented as part of the head module(111). The head module (111) may further determine the orientation ofthe torso (101) from the orientation of the arm modules (115 and 113)and/or the orientation of the head module (111), using an artificialneural network trained for a corresponding kinematic chain, whichincludes the upper arms (103 and 105), the torso (101), and/or the head(107).

For the determination of the orientation of the torso (101), the handmodules (117 and 119) are optional in the system illustrated in FIG. 1.

Further, in some instances the head module (111) is not used in thetracking of the orientation of the torso (101) of the user.

Typically, the measurements of the sensor devices (111, 113, 115, 117and 119) are calibrated for alignment with a common reference system,such as the coordinate system (100).

For example, the coordinate system (100) can correspond to theorientation of the arms and body of the user in a standardized poseillustrated in FIG. 1. When in the pose of FIG. 1, the arms of the userpoint in the directions that are parallel to the Y axis; the frontfacing direction of the user is parallel to the X axis; and the legs,the torso (101) to the head (107) are in the direction that is parallelto the Z axis.

After the calibration, the hands, arms (105, 103), the head (107) andthe torso (101) of the user may move relative to each other and relativeto the coordinate system (100). The measurements of the sensor devices(111, 113, 115, 117 and 119) provide orientations of the hands (106 and108), the upper arms (105, 103), and the head (107) of the user relativeto the coordinate system (100). The computing device (141) computes,estimates, or predicts the current orientation of the torso (101) and/orthe forearms (112 and 114) from the current orientations of the upperarms (105, 103), the current orientation the head (107) of the user,and/or the current orientation of the hands (106 and 108) of the userand their orientation history using the prediction model (116).

Some techniques of using an artificial neural network to predict themovements of certain parts in a skeleton model that are not separatelytracked using dedicated sensor devices can be found in U.S. patentapplication Ser. No. 15/996,389, filed Jun 1, 2018 and entitled “MotionPredictions of Overlapping Kinematic Chains of a Skeleton Model used toControl a Computer System,” and U.S. patent application Ser. No.15/973,137, filed May 7, 2018 and entitled “tracking User Movements toControl a Skeleton Model in a Computer System,” the entire disclosuresof which applications are hereby incorporated herein by reference.

Optionally or in combination, the computing device (141) may furthercompute the orientations of the forearms from the orientations of thehands (106 and 108) and upper arms (105 and 103), e.g., using atechnique disclosed in U.S. patent application Ser. No. 15/787,555,filed Oct. 18, 2017 and entitled “Tracking Arm Movements to GenerateInputs for Computer Systems”, the entire disclosure of which is herebyincorporated herein by reference.

FIG. 2 illustrates a system to control computer operations according toone embodiment. For example, the system of FIG. 2 can be implemented viaattaching the arm modules (115 and 113) to the upper arms (105 and 103)respectively, the head module (111) to the head (107) and/or handmodules (117 and 119), in a way illustrated in FIG. 1.

In FIG. 2, the head module (111) and the arm module (113) havemicro-electromechanical system (MEMS) inertial measurement units (IMUs)(121 and 131) that measure motion parameters and determine orientationsof the head (107) and the upper arm (103).

Similarly, the hand modules (117 and 119) can also have IMUs. In someapplications, the hand modules (117 and 119) measure the orientation ofthe hands (106 and 108) and the movements of fingers are not separatelytracked. In other applications, the hand modules (117 and 119) haveseparate IMUs for the measurement of the orientations of the palms ofthe hands (106 and 108), as well as the orientations of at least somephalange bones of at least some fingers on the hands (106 and 108).Examples of hand modules can be found in U.S. patent application Ser.No. 15/792,255, filed Oct. 24, 2017 and entitled “Tracking FingerMovements to Generate Inputs for Computer Systems,” the entiredisclosure of which is hereby incorporated herein by reference.

Each of the IMUs (131 and 121) has a collection of sensor componentsthat enable the determination of the movement, position and/ororientation of the respective IMU along a number of axes. Examples ofthe components are: a MEMS accelerometer that measures the projection ofacceleration (the difference between the true acceleration of an objectand the gravitational acceleration); a MEMS gyroscope that measuresangular velocities; and a magnetometer that measures the magnitude anddirection of a magnetic field at a certain point in space. In someembodiments, the IMUs use a combination of sensors in three and two axes(e.g., without a magnetometer).

The computing device (141) can have a prediction model (116) and amotion processor (145). The measurements of the IMUs (e.g., 131, 121)from the head module (111), arm modules (e.g., 113 and 115), and/or handmodules (e.g., 117 and 119) are used in the prediction module (116) togenerate predicted measurements of at least some of the parts that donot have attached sensor modules, such as the torso (101), and forearms(112 and 114). The predicted measurements and/or the measurements of theIMUs (e.g., 131, 121) are used in the motion processor (145).

The motion processor (145) has a skeleton model (143) of the user (e.g.,illustrated FIG. 3). The motion processor (145) controls the movementsof the parts of the skeleton model (143) according to themovements/orientations of the corresponding parts of the user. Forexample, the orientations of the hands (106 and 108), the forearms (112and 114), the upper arms (103 and 105), the torso (101), the head (107),as measured by the IMUs of the hand modules (117 and 119), the armmodules (113 and 115), the head module (111) sensor modules and/orpredicted by the prediction model (116) based on the IMU measurementsare used to set the orientations of the corresponding parts of theskeleton model (143).

Since the torso (101) does not have a separately attached sensor module,the movements/orientation of the torso (101) can be predicted using theprediction model (116) using the sensor measurements from sensor moduleson a kinematic chain that includes the torso (101). For example, theprediction model (116) can be trained with the motion pattern of akinematic chain that includes the head (107), the torso (101), and theupper arms (103 and 105) and can be used to predict the orientation ofthe torso (101) based on the motion history of the head (107), the torso(101), and the upper arms (103 and 105) and the current orientations ofthe head (107), and the upper arms (103 and 105).

Similarly, since a forearm (112 or 114) does not have a separatelyattached sensor module, the movements/orientation of the forearm (112 or114) can be predicted using the prediction model (116) using the sensormeasurements from sensor modules on a kinematic chain that includes theforearm (112 or 114). For example, the prediction model (116) can betrained with the motion pattern of a kinematic chain that includes thehand (106), the forearm (114), and the upper arm (105) and can be usedto predict the orientation of the forearm (114) based on the motionhistory of the hand (106), the forearm (114), the upper arm (105) andthe current orientations of the hand (106), and the upper arm (105).

The skeleton model (143) is controlled by the motion processor (145) togenerate inputs for an application (147) running in the computing device(141). For example, the skeleton model (143) can be used to control themovement of an avatar/model of the arms (112, 114, 105 and 103), thehands (106 and 108), the head (107), and the torso (101) of the user ofthe computing device (141) in a video game, a virtual reality, a mixedreality, or augmented reality, etc.

Preferably, the arm module (113) has a microcontroller (139) to processthe sensor signals from the IMU (131) of the arm module (113) and acommunication module (133) to transmit the motion/orientation parametersof the arm module (113) to the computing device (141). Similarly, thehead module (111) has a microcontroller (129) to process the sensorsignals from the IMU (121) of the head module (111) and a communicationmodule (123) to transmit the motion/orientation parameters of the headmodule (111) to the computing device (141).

Optionally, the arm module (113) and the head module (111) have LEDindicators (137 and 127) respectively to indicate the operating statusof the modules (113 and 111).

Optionally, the arm module (113) has a haptic actuator (138)respectively to provide haptic feedback to the user.

Optionally, the head module (111) has a display device (127) and/orbuttons and other input devices (125), such as a touch sensor, amicrophone, a camera (126), etc.

In some instances, a stereo camera (126) is used to capture stereoimages of the sensor devices (113, 115, 117, 119) to calibrate theirmeasurements relative to a common coordinate system, such as thecoordinate system (100) defined in connection with a reference poseillustrated in FIG. 1. Further, the LED indicators (e.g., 137) of asensor module (e.g., 113) can be turned on during the time of capturingthe stereo images such that the orientation and/or identity of thesensor module (e.g., 113) can be determined from the locations and/orpatterns of the LED indicators.

When the LED lights are not captured in the images, or when the sensordevice do not have LED lights, the orientation of the sensor module canbe predicted based on an image of a portion of the user wearing thesensor device in a predefined manner. For example, an ANN can be used todetermine the orientations of the wrist, palm, distal, middle andproximal phalanges of thumb and index finger from the image of the handand forearm of the user; and the orientations can be further used inanother ANN to determine the orientation of the sensor device.

In some implementations, the head module (111) is replaced with a modulethat is similar to the arm module (113) and that is attached to the head(107) via a strap or is secured to a head mount display device.

In some applications, the hand module (119) can be implemented with amodule that is similar to the arm module (113) and attached to the handvia holding or via a strap. Optionally, the hand module (119) hasbuttons and other input devices, such as a touch sensor, a joystick,etc.

For example, the handheld modules disclosed in U.S. patent applicationSer. No. 15/792,255, filed Oct. 24, 2017 and entitled “Tracking FingerMovements to Generate Inputs for Computer Systems”, U.S. patentapplication Ser. No. 15/787,555, filed Oct. 18, 2017 and entitled“Tracking Arm Movements to Generate Inputs for Computer Systems”, and/orU.S. patent application Ser. No. 15/492,915, filed Apr. 20, 2017 andentitled “Devices for Controlling Computers based on Motions andPositions of Hands” can be used to implement the hand modules (117 and119), the entire disclosures of which applications are herebyincorporated herein by reference.

When a hand module (e.g., 117 or 119) tracks the orientations of thepalm and a selected set of phalange bones, the motion pattern of akinematic chain of the hand captured in the predictive mode (116) can beused in the prediction model (116) to predict the orientations of otherphalange bones that do not wear sensor devices.

FIG. 2 shows a hand module (119) and an arm module (113) as examples. Ingeneral, an application for the tracking of the orientation of the torso(101) typically uses two arm modules (113 and 115) as illustrated inFIG. 1. The head module (111) can be used optionally to further improvethe tracking of the orientation of the torso (101). Hand modules (117and 119) can be further used to provide additional inputs and/or for theprediction/calculation of the orientations of the forearms (112 and 114)of the user.

Typically, an IMU (e.g., 131 or 121) in a module (e.g., 113 or 111)generates acceleration data from accelerometers, angular velocity datafrom gyrometers/gyroscopes, and/or orientation data from magnetometers.The microcontrollers (139 and 129) perform preprocessing tasks, such asfiltering the sensor data (e.g., blocking sensors that are not used in aspecific application), applying calibration data (e.g., to correct theaverage accumulated error computed by the computing device (141)),transforming motion/position/orientation data in three axes into aquaternion, and packaging the preprocessed results into data packets(e.g., using a data compression technique) for transmitting to the hostcomputing device (141) with a reduced bandwidth requirement and/orcommunication time.

Each of the microcontrollers (129, 139) may include a memory storinginstructions controlling the operations of the respectivemicrocontroller (129 or 139) to perform primary processing of the sensordata from the IMU (121, 131) and control the operations of thecommunication module (123, 133), and/or other components, such as theLED indicators (137), the haptic actuator (138), buttons and other inputdevices (125), the display device (127), etc.

The computing device (141) may include one or more microprocessors and amemory storing instructions to implement the motion processor (145). Themotion processor (145) may also be implemented via hardware, such asApplication-Specific Integrated Circuit (ASIC) or Field-ProgrammableGate Array (FPGA).

In some instances, one of the modules (111, 113, 115, 117, and/or 119)is configured as a primary input device; and the other module isconfigured as a secondary input device that is connected to thecomputing device (141) via the primary input device. A secondary inputdevice may use the microprocessor of its connected primary input deviceto perform some of the preprocessing tasks. A module that communicatesdirectly to the computing device (141) is consider a primary inputdevice, even when the module does not have a secondary input device thatis connected to the computing device via the primary input device.

In some instances, the computing device (141) specifies the types ofinput data requested, and the conditions and/or frequency of the inputdata; and the modules (111, 113, 115, 117, and/or 119) report therequested input data under the conditions and/or according to thefrequency specified by the computing device (141). Different reportingfrequencies can be specified for different types of input data (e.g.,accelerometer measurements, gyroscope/gyrometer measurements,magnetometer measurements, position, orientation, velocity).

In general, the computing device (141) may be a data processing system,such as a mobile phone, a desktop computer, a laptop computer, a headmount virtual reality display, a personal medial player, a tabletcomputer, etc.

FIG. 3 illustrates a skeleton model that can be controlled by trackinguser movements according to one embodiment. For example, the skeletonmodel of FIG. 3 can be used in the motion processor (145) of FIG. 2.

The skeleton model illustrated in FIG. 3 includes a torso (232) and leftand right upper arms (203 and 205) that can move relative to the torso(232) via the shoulder joints (234 and 241). The skeleton model mayfurther include the forearms (215 and 233), hands (206 and 208), neck,head (207), legs and feet. In some instances, a hand (206) includes apalm connected to phalange bones (e.g., 245) of fingers, and metacarpalbones of thumbs via joints (e.g., 244).

The positions/orientations of the rigid parts of the skeleton modelillustrated in FIG. 3 are controlled by the measured orientations of thecorresponding parts of the user illustrated in FIG. 1. For example, theorientation of the head (207) of the skeleton model is configuredaccording to the orientation of the head (107) of the user as measuredusing the head module (111); the orientation of the upper arm (205) ofthe skeleton model is configured according to the orientation of theupper arm (105) of the user as measured using the arm module (115); andthe orientation of the hand (206) of the skeleton model is configuredaccording to the orientation of the hand (106) of the user as measuredusing the hand module (117); etc.

For example, the tracking system as illustrated in FIG. 2 measures theorientations of the modules (111, 113, . . . , 119) using IMUs (e.g.,121, 131, . . . ). The inertial-based sensors offer good userexperiences, have less restrictions on the use of the sensors, and canbe implemented in a computational efficient way. However, theinertial-based sensors may be less accurate than certain trackingmethods in some situations, and can have drift errors and/or accumulatederrors through time integration. Drift errors and/or accumulated errorscan be considered as the change of the reference orientation used forthe measurement from a known reference orientation to an unknownreference orientation. An update calibration can remove the drift errorsand/or accumulated errors.

An optical tracking system can use one or more cameras (e.g., 126) totrack the positions and/or orientations of optical markers (e.g., LEDindicators (137)) that are in the fields of view of the cameras. Whenthe optical markers are within the fields of view of the cameras, theimages captured by the cameras can be used to compute the positionsand/or orientations of optical markers and thus the orientations ofparts that are marked using the optical markers. However, the opticaltracking system may not be as user friendly as the inertial-basedtracking system and can be more expensive to deploy. Further, when anoptical marker is out of the fields of view of cameras, the positionsand/or orientations of optical marker cannot be determined by theoptical tracking system.

An artificial neural network of the prediction model (116) can betrained to predict the measurements produced by the optical trackingsystem based on the measurements produced by the inertial-based trackingsystem. Thus, the drift errors and/or accumulated errors ininertial-based measurements can be reduced and/or suppressed, whichreduces the need for re-calibration of the inertial-based trackingsystem. Further details on the use of the prediction model (116) can befound in U.S. patent application Ser. No. 15/973,137, filed May 7, 2018and entitled “tracking User Movements to Control a Skeleton Model in aComputer System,” the entire disclosure of which application is herebyincorporated herein by reference.

Further, the orientations determined using images captured by the camera(126) can be used to calibrate the measurements of the sensor devices(111, 113, 115, 117, 119) relative to a common coordinate system, suchas the coordinate system (100) defined using a standardized referencepose illustrated in FIG. 1, as further discussed below.

FIG. 4 illustrates a technique to determine an orientation of a ringdevice for tracking user movements using an image (400) captured by acamera (126) on a head mounted display (127) according to someembodiments. As illustrated in FIG. 4, a sensor device (401) isconfigured to have the form factor of a ring device suitable to be wornon a finger of a hand of the user. The sensor device (401) has aninertial measurement unit, similar to IMU (131) in an arm module (113).The sensor device (401) in the form of a ring can be worn on the middlephalange (403) of the index finger. The sensor device (401) isconfigured with a touch pad that can be ready touched by the thumb (405)to generate a touch input.

In some embodiments, the image (400) FIG. 4 captured by the camera (126)is converted into the image in a black/white format for processing torecognize the orientations of predefined features. For example, theimage (400) FIG. 4 captured by the camera (126) can be processed by anANN to determine the orientations of features, such as forearm, wrist,palm, distal phalange of thumb, middle phalange of thumb, distalphalange of index finger, middle phalange of index finger, proximal ofindex finger, and metacarpal of the index finger in palm connecting.Optionally, the system converts the original image (400) from higherresolution into a lower resolution image in a black/white format tofacilitate the recognize.

The orientations of forearm, wrist, palm, distal phalanges, middlephalanges, and proximal phalange, determined from the image of the handand upper arm illustrated in FIG. 4, can be provided as input to an ANNto predict the orientation of the sensor device (401). The predictedorientation can be used to calibrate the orientation measurementgenerated by the inertial measurement unit configured in the sensordevice (401). Further, the relative orientations of the sensor device(401) and the hand of the user can be used to determine the orientationof the hand based on the orientation measurement generated by theinertial measurement unit configured in the sensor device (401).

Further details and examples of the technique of orientationdetermination based on FIG. 4 can be found in U.S. patent applicationSer. No. 16/576,661, filed Sep. 19, 2019 and entitled “Calibration ofInertial Measurement Units in Alignment with a Skeleton Model to Controla Computer System based on Determination of Orientation of an InertialMeasurement Unit from an Image of a Portion of a User”, the entiredisclosure of which application is hereby incorporated herein byreference.

FIG. 5 shows a ring device (501) having components configured atlocations according to some embodiments. For example, the ring device(501) of FIG. 5 can have an inertial measurement unit, similar to thesensor device (401) of FIG. 4.

The ring device (501) of FIG. 5 has a ring-shaped housing configured tobe wrapped round a finger of a user when the device (501) is worn on afinger of the user (e.g., in a way as illustrated in FIG. 4). Theoverall shape of the ring device (501) of FIG. 5 is substantiallycircular. In other embodiments, the overall shape of the ring device(501) can have other shapes (e.g., elliptical, octagonal, rectangular,triangular, etc.). The ring device (501) of FIG. 5 can be in one of manyform-factors and can be configured include components similar to thehand module (119) or the arm module (113) illustrated in FIG. 2 as apart of the tracking system. In some implementations, the ring device(501) of FIG. 5 can be used to replace a hand module (119) in the systemof FIG. 2, where the orientation measurements from the sensor modules(e.g., 501, 113, 111) are provided to a computing device (141) tocontrol a skeleton model (143) of the user in a virtual realityapplication, a mixed reality application, an augmented realityapplication, etc. For example, the ring device (501) of FIG. 5 canprovide orientation measurements to control the movement of parts of theskeleton model (143) of the user.

In FIG. 5, the ring device (501) can include a spring element (503) thatextends from the housing of the ring device (501) for improved grip onthe finger when the ring device (501) is worn on the finger.

The ring device (501) of FIG. 5 having an overall “c” shape with anopening (513). The gap between the two ends of the “c” shape at theopening (513) can be small, or substantially closed in otherimplementations. FIG. 6 illustrates an alternative perspective view ofthe “c” shaped ring device of FIG. 5. In other embodiments, an optionaljoint can be configured near the two ends to substantially hide the gapbetween the two ends of the “c” shaped housing. For example, a joint(550) can be configured near the region (550) illustrated in FIG. 6. Thehousing of the ring device (501) of FIG. 5 (or FIG. 6) has structuraldiscontinuity at the location near the opening (513).

At an opposite side (507) across the center (505) of the ring device(501) from the discontinuity point near the opening (513), the housingof the ring device (501) of FIG. 5 has a contiguous section (515).

In FIG. 5, the ring device (501) has a central axis X2 that issubstantially in the direction of the lengthwise direction of a finger,when the ring device (501) is worn on the finger. The central axis X2 isat the center (505) of the ring device (501). The Y2 axis goes from thecenter (505) to the discontinuity point near the opening (513). The Z2axis is perpendicular to the central axis X2 and the Y2 axis.

On the Y2 axis, the contiguous section (515) of the housing is at theopposite side of the center (505) relative to the discontinuity point atthe opening (513).

In some embodiments, an antenna of the ring device (501) is configured(507) in the contiguous section (515) at a location (507) that is on ornear the Y2 axis. The location (507) is substantially at in the middleof the contiguous section (515) that extends from line YZ1 to line YZ2in FIG. 5. Lines YZ1 and Z2 form angles that are about 45 degrees fromaxis Z2. Lines YZ2 and Y2 form angles that are about 25 degrees fromaxis Y2. Lines YZ1 and YZ2 form angles that are about 70 degrees. Thecontiguous section (515) between the lines YZ1 and YZ2 can be considereda left section (515) when the discontinuity point at the opening (513)is considered to be located to the right of the center (505).

The contiguous section (515) has an outer portion (517) and an innerportion (509) that is closer to the finger or the center (505) than theouter portion (507). The antenna can be attached to the outer portion(517) of the contiguous section (515) near the location (507) to reduceskin effects and/or proximity effects.

The antenna of the ring device (501) can be configured to communicatewith the computing device (141) using a Bluetooth Low Energy technique(BLE). For example, the antenna configured at the location (507) can bea ceramic antenna, a printed circuit board antenna, a stamped metalantenna, or a wire antenna. For example, the ring device (501) can beconfigured to transmit, via the BLE antenna to the computing device(141), data indicating of orientation of the finger based onmeasurements of the inertial measurement unit of the ring device (501).For example, the inertial measurement unit can include amicro-electromechanical system (MEMS) gyroscope, a MEMS accelerometerand/or a magnetometer.

In general, the location (507) of the BLE antenna is preferably closerto the outer portion of the housing and further away from the innerportion of the housing to reduce skin-effects and proximity effects. Forexample, when the BLE antenna is configured to be located at thecontiguous section (515) between the lines YZ1 and YZ2, the BLE antennais most protected from external effects and can function properlywithout being disrupted by other electronic components of the ringdevice (501), such as a touch pad, a charging pad, etc.

Some components of the ring device (501) can contain metal elements. TheBLE antenna is isolated from such components that may disrupt theoperations of the BLE antenna. For example, the contiguous section (515)can be made of a dielectric material to isolate the BLE antenna (507)from such components that are configured outside of the section (515)between the lines YZ1 and YZ2. In some embodiments, the metal containedmaterials should be away from the BLE antenna at the distance which isno less than 3 mm. Therefore, the dielectric material can be smallerthan the section (515) based on the location of the BLE antenna. Thedielectric material can include one or more types of plastic such asAcrylonitrile Butadiene Styrene (ABS), Polypropylene (PP),Polycarbonates (PC), Polymethyl Methacrylate (PMMA), Polyethylene (PE),Polystyrene (PS), High Impact Polystyrene (HIPS), ThermoplasticElastomer (TPE), Thermoplastic polyurethane (TPU), or Silicone, or anycombination thereof.

Optionally, the ring device (501) has a light-emitting diode (LED)indicator configured at a location (511) that is on or near the Z2 axisand in an outer portion (531) of an upper contiguous section of thehousing of the ring device (501). In some embodiments, the ring device(501) can have a light-emitting diode (LED) indicator configured at anyportion (531, 533, 535)) of an upper contiguous section of the housingof the ring device (501).

In FIG. 5, the upper contiguous section (531, 533, 535) is above thecenter (505) and is between the positive portion of axis Y2 and the lineYZ1. The angle between the positive portion of axis Y2 and the line YZ1is about 135 degrees in a cross-section view of the housing. Forexample, the upper contiguous section can include an outer portion(531), a middle portion (535), and an inner portion (533) that is closerto the center (505) than the middle portion (535) and the outer portion(531).

Optionally, the ring device (501) has a charging pad (533, 537, 539)configured to charge a battery configured in the ring device (501). Forexample, the charging pad (533, 537) can be configured in the upper partof the device at the inner portion (533, 537) of the upper contiguoussection. Alternatively, the charging pad (537) can be configured in thelower contiguous section (539) that is between the positive portion ofaxis Y2 and the line YZ2. An angle between the positive portion of axisY2 and the line YZ2 is no more than 155 degrees.

Optionally, the ring device (501) has a touch pad configured to receivetouch input from a finger of the user. For example, the touch pad can beconfigured on the outer portion (531) of the upper contiguous sectionbetween the positive portion of axis Y2 and the positive portion of axisZ2. Thus, the touch pad extends no more than 90 degrees from thepositive portion of axis Y2.

Optionally, the ring device (501) has an LED display configured topresent output data to the user. For example, the LED display can beconfigured on the outer portion (531) of the upper contiguous sectionbetween the positive portion of axis Y2 and the positive portion of axisZ2. Thus, the LED display extends no more than 90 degrees from thepositive portion of axis Y2.

Optionally, the ring device (501) has a fingerprint scanner configuredto generate fingerprint data of the user of the ring device (501) toidentify the user. For example, the fingerprint scanner can beconfigured on the outer portion (531) of the upper contiguous sectionbetween the positive portion of axis Y2 and the positive portion of axisZ2. Thus, the fingerprint scanner extends no more than 90 degrees fromthe positive portion of axis Y2

Optionally, the ring device (501) has a force sensor configured todetect the pressure of touch or click of the user while interacting withdevice. For example, the force sensor can be configured on the outerportion (531) of the upper contiguous section between the positiveportion of axis Y2 and the positive portion of axis Z2. Thus, the forcesensor extends no more than 90 degrees from the positive portion of axisY2.

Optionally, the ring device (501) has a near field communication (NFC)marker configured to provide identification information through NFCcommunications. In some embodiments, the NFC maker can be configured inthe lower contiguous section (539) that is between the positive portionof axis Y2 and the line YZ2. An angle between the positive portion ofaxis Y2 and the line YZ2 is no more than 135 degrees

Optionally, the ring device (501) has one or more biosensor componentsconfigured on an inner portion (533) of the upper contiguous sectionbetween the positive portion of axis Y2 and the line YZ1. An anglebetween the positive portion of axis Y2 and the line YZ1 is no more than155 degrees.

For example, the one or more biosensor components can include heart ratesensor (i.e., optical heart rate sensor/photoplethysmography sensor) tomeasure heart rate in beats per minute or detect the pulse waves;piezoelectrical sensors to measure changes in pressure, acceleration,temperature, strain, or force; capacitive and/or optical sensors todetect if the user was wearing the device (500) and to detect andmeasure proximity of nearby objects; thermometer to measure temperatureof the user; Manometer to measure blood pressure; galvanic skin sensorto measure skin resistance, skin conductance and stress level (i.e.,sweating); electromyography sensor to measure the electrical activity ofmuscles; and/or CGM (continuous glucose monitoring) sensor to monitorglucose level.

Optionally, the ring device (501) has a microphone configured to collectvoice inputs from a user for transmission to the computing device (141).In some embodiments, the microphone can be configured on the middleportion (535) of the upper contiguous section between the positiveportion of axis Y2 and the line YZ1. An angle between the positiveportion of axis Y2 and the line YZ1 is no more than 135 degrees.

Optionally, the ring device (501) has a haptic actuator and/or speakerconfigured present the output feedback to its user. In some embodiments,the haptic actuator and/or speaker can be configured on the middleportion (535) of the upper contiguous section between the positiveportion of axis Y2 and the line YZ1. An angle between the positiveportion of axis Y2 and the line YZ1 is no more than 135 degrees.

The present disclosure includes methods and apparatuses which performthese methods, including data processing systems which perform thesemethods, and computer readable media containing instructions which whenexecuted on data processing systems cause the systems to perform thesemethods.

For example, the computing device (141), the arm modules (113, 115)and/or the head module (111) can be implemented using one or more dataprocessing systems.

A typical data processing system may include an inter-connect (e.g., busand system core logic), which interconnects a microprocessor(s) andmemory. The microprocessor is typically coupled to cache memory.

The inter-connect interconnects the microprocessor(s) and the memorytogether and also interconnects them to input/output (I/O) device(s) viaI/O controller(s). I/O devices may include a display device and/orperipheral devices, such as mice, keyboards, modems, network interfaces,printers, scanners, video cameras and other devices known in the art. Inone embodiment, when the data processing system is a server system, someof the I/O devices, such as printers, scanners, mice, and/or keyboards,are optional.

The inter-connect can include one or more buses connected to one anotherthrough various bridges, controllers and/or adapters. In one embodimentthe I/O controllers include a USB (Universal Serial Bus) adapter forcontrolling USB peripherals, and/or an IEEE-1394 bus adapter forcontrolling IEEE-1394 peripherals.

The memory may include one or more of: ROM (Read Only Memory), volatileRAM (Random Access Memory), and non-volatile memory, such as hard drive,flash memory, etc.

Volatile RAM is typically implemented as dynamic RAM (DRAM) whichrequires power continually in order to refresh or maintain the data inthe memory. Non-volatile memory is typically a magnetic hard drive, amagnetic optical drive, an optical drive (e.g., a DVD RAM), or othertype of memory system which maintains data even after power is removedfrom the system. The non-volatile memory may also be a random accessmemory.

The non-volatile memory can be a local device coupled directly to therest of the components in the data processing system. A non-volatilememory that is remote from the system, such as a network storage devicecoupled to the data processing system through a network interface suchas a modem or Ethernet interface, can also be used.

In the present disclosure, some functions and operations are describedas being performed by or caused by software code to simplifydescription. However, such expressions are also used to specify that thefunctions result from execution of the code/instructions by a processor,such as a microprocessor.

Alternatively, or in combination, the functions and operations asdescribed here can be implemented using special purpose circuitry, withor without software instructions, such as using Application-SpecificIntegrated Circuit (ASIC) or Field-Programmable Gate Array (FPGA).Embodiments can be implemented using hardwired circuitry withoutsoftware instructions, or in combination with software instructions.Thus, the techniques are limited neither to any specific combination ofhardware circuitry and software, nor to any particular source for theinstructions executed by the data processing system.

While one embodiment can be implemented in fully functioning computersand computer systems, various embodiments are capable of beingdistributed as a computing product in a variety of forms and are capableof being applied regardless of the particular type of machine orcomputer-readable media used to actually effect the distribution.

At least some aspects disclosed can be embodied, at least in part, insoftware. That is, the techniques may be carried out in a computersystem or other data processing system in response to its processor,such as a microprocessor, executing sequences of instructions containedin a memory, such as ROM, volatile RAM, non-volatile memory, cache or aremote storage device.

Routines executed to implement the embodiments may be implemented aspart of an operating system or a specific application, component,program, object, module or sequence of instructions referred to as“computer programs.” The computer programs typically include one or moreinstructions set at various times in various memory and storage devicesin a computer, and that, when read and executed by one or moreprocessors in a computer, cause the computer to perform operationsnecessary to execute elements involving the various aspects.

A machine readable medium can be used to store software and data whichwhen executed by a data processing system causes the system to performvarious methods. The executable software and data may be stored invarious places including for example ROM, volatile RAM, non-volatilememory and/or cache. Portions of this software and/or data may be storedin any one of these storage devices. Further, the data and instructionscan be obtained from centralized servers or peer to peer networks.Different portions of the data and instructions can be obtained fromdifferent centralized servers and/or peer to peer networks at differenttimes and in different communication sessions or in a same communicationsession. The data and instructions can be obtained in entirety prior tothe execution of the applications. Alternatively, portions of the dataand instructions can be obtained dynamically, just in time, when neededfor execution. Thus, it is not required that the data and instructionsbe on a machine readable medium in entirety at a particular instance oftime.

Examples of computer-readable media include but are not limited tonon-transitory, recordable and non-recordable type media such asvolatile and non-volatile memory devices, read only memory (ROM), randomaccess memory (RAM), flash memory devices, floppy and other removabledisks, magnetic disk storage media, optical storage media (e.g., CompactDisk Read-Only Memory (CD ROM), Digital Versatile Disks (DVDs), etc.),among others. The computer-readable media may store the instructions.

The instructions may also be embodied in digital and analogcommunication links for electrical, optical, acoustical or other formsof propagated signals, such as carrier waves, infrared signals, digitalsignals, etc. However, propagated signals, such as carrier waves,infrared signals, digital signals, etc. are not tangible machinereadable medium and are not configured to store instructions.

In general, a machine readable medium includes any mechanism thatprovides (i.e., stores and/or transmits) information in a formaccessible by a machine (e.g., a computer, network device, personaldigital assistant, manufacturing tool, any device with a set of one ormore processors, etc.).

In various embodiments, hardwired circuitry may be used in combinationwith software instructions to implement the techniques. Thus, thetechniques are neither limited to any specific combination of hardwarecircuitry and software nor to any particular source for the instructionsexecuted by the data processing system.

In the foregoing specification, the disclosure has been described withreference to specific exemplary embodiments thereof. It will be evidentthat various modifications may be made thereto without departing fromthe broader spirit and scope as set forth in the following claims. Thespecification and drawings are, accordingly, to be regarded in anillustrative sense rather than a restrictive sense.

What is claimed is:
 1. An apparatus, comprising: a c-shaped housingconfigured to be wrapped round a finger of a user, the c-shaped housinghaving: a first contiguous section, wherein the first contiguous sectionis made of a dielectric material; and an antenna in the first contiguoussection.
 2. The apparatus of claim 1, wherein the antenna is configuredto communicate using a Bluetooth Low Energy technique, wherein the firstcontiguous section has an outer portion and an inner portion that iscloser to the finger than the outer portion; and the antenna is attachedto an outer portion of the first contiguous section, and wherein a linepassing through a location of the antenna and a first point goes througha central axis of the c-shaped housing and a center of a cross-sectionof the finger.
 3. The apparatus of claim 2, further comprising: aninertial measurement unit configured to measure motions of the finger;wherein the apparatus is configured to transmit, via the antenna to acomputing device, data indicating of orientation of the finger based onmeasurements of the inertial measurement unit.
 4. The apparatus of claim3, wherein the inertial measurement unit includes amicro-electromechanical system (MEMS) gyroscope, a MEMS accelerometerand a magnetometer.
 5. The apparatus of claim 4, further comprising: alight-emitting diode (LED) indicator configured on an outer portion ofthe c-shaped housing.
 6. The apparatus of claim 5, wherein a linepassing through the light-emitting diode (LED) indicator and the centralaxis of the c-shaped housing is substantially orthogonal to the linepassing through the location of the antenna and the first point.
 7. Theapparatus of claim 4, further comprising: a charging pad configured tocharge a battery configured in the c-shaped housing, the charging padbeing configured at the first point.
 8. The apparatus of claim 4,further comprising: a charging pad configured to charge a batteryconfigured in the c-shaped housing, the charging pad being configured onthe c-shaped housing between the first point and the antenna and at alocation that is no more than 135 degrees from the first point in across-section of the c-shaped housing in a plane that is perpendicularto the central axis; wherein the central axis is in a lengthwisedirection of the finger.
 9. The apparatus of claim 4, furthercomprising: a touch pad configured to receive touch input from thefinger of the user, the touch pad being configured on the c-shapedhousing between the first point and the antenna and at a location thatis no more than 90 degrees from the first point in a cross-section ofthe c-shaped housing in a plane that is perpendicular to the centralaxis.
 10. The apparatus of claim 4, further comprising: one or morefirst devices configured on an outer portion of the c-shaped housing,the one or more first devices including a light-emitting diode (LED)display, a fingerprint scanner, a force sensor, or any combinationthereof.
 11. The apparatus of claim 4, further comprising: a Near FieldCommunication (NFC) marker configured to charge a battery configured inthe c-shaped housing, the NFC marker being configured on the c-shapedhousing between the first point and the antenna and at a location thatis no more than 135 degrees from the first point in a cross-section ofthe c-shaped housing in a plane that is perpendicular to the centralaxis; wherein the central axis is in a lengthwise direction of thefinger.
 12. The apparatus of claim 4, further comprising: one or moresecond devices configured on a middle portion of the c-shaped housing,wherein the one or more second devices including a Haptic actuator, aspeaker, a microphone, or any combination thereof.
 13. The apparatus ofclaim 4, wherein the dielectric material includes one or more types ofplastic, the dielectric material including Acrylonitrile ButadieneStyrene (ABS), Polypropylene (PP), Polycarbonates (PC), PolymethylMethacrylate (PMMA), Polyethylene (PE), Polystyrene (PS), High ImpactPolystyrene (HIPS), Thermoplastic Elastomer (TPE), Thermoplasticpolyurethane (TPU), or Silicone, or any combination thereof.
 14. Theapparatus of claim 6, wherein the antenna is a ceramic antenna, aprinted circuit board antenna, a stamped metal antenna, or a wireantenna.
 15. An apparatus, comprising: a housing having a c-shape andconfigured to be wrapped round a finger of a user, the housing having: acentral axis in a lengthwise direction of the finger, an opening orjoint along a circumferential direction, an upper portion above a firstplane passing through the central axis and the opening or joint, and alower portion below the first plane; and a Bluetooth antenna configuredin a contiguous portion of the housing that connects the upper portionand the lower portion.
 16. The apparatus of claim 15, furthercomprising: an inertial measurement unit configured to measure motionsof the finger; wherein the apparatus is configured to transmit, via theBluetooth antenna to a computing device, data indicating of orientationof the finger based on measurements of the inertial measurement unit.17. The apparatus of claim 16, wherein a second plane passing throughthe central axis and perpendicular to the first plane divides thehousing into a left portion and a right portion; wherein the Bluetoothantenna is located in the left portion, and the opening or joint islocated in the right portion; and wherein the apparatus furthercomprises: a touch pad configured on the right portion and on the upperportion; and a charging pad configured on an end of the opening, orlower portion.
 18. An apparatus, comprising: a housing having a c-shapeand configured to be wrapped round a finger of a user, the housinghaving: a central axis in a lengthwise direction of the finger; anopening or joint along a circumferential direction; a first sectionspanning from the opening or joint up to 90 degrees in thecircumferential direction; a second section spanning from the opening orjoint up to 135 degrees in the circumferential direction opposite to thefirst section; and a third section connecting between the first sectionand the second section contiguously; an inertial measurement unit havinga micro-electromechanical system (MEMS) gyroscope; and a Bluetoothantenna configured in the third section, the Bluetooth antennaconfigured to transmit orientation data of the apparatus as measuredusing the MEMS gyroscope.
 19. The apparatus of claim 18, furthercomprising: a charging pad configured on the second section or on thefirst section at an end near the opening.
 20. The apparatus of claim 19,further comprising: a light-emitting diode (LED) indicator configured atan outer portion of the housing where the first section meets the thirdsection.